package com.aiYouPms.admin.dto;

import lombok.Getter;
import lombok.Setter;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;

@Setter
@Getter
public class MenuCreateParams {

    /**
     * 父菜单ID（0表示根菜单）
     */
    @NotNull(message = "父菜单ID不能为空")
    private Long parentId = 0L;

    /**
     * 菜单名称
     */
    @NotBlank(message = "菜单名称不能为空")
    private String menuName;

    /**
     * 类型（M:目录 C:菜单 F:按钮）
     */
    @NotBlank(message = "菜单类型不能为空")
    private String menuType;

    /**
     * 路由地址
     */
    private String path = "";

    /**
     * 组件路径
     */
    private String component;

    /**
     * 权限标识
     */
    private String perms;

    /**
     * 菜单图标
     */
    private String icon = "#";

    /**
     * 显示顺序
     */
    private Integer sort = 0;

    /**
     * 是否显示（0隐藏 1显示）
     */
    private Integer visible = 1;

    /**
     * 状态（0停用 1启用）
     */
    private Integer status = 1;

    /**
     * 是否启用页面缓存
     */
    private Integer isCache = 0;

    /**
     * 是否内嵌iframe
     */
    private Integer isEmbed = 0;

    /**
     * 是否固定标签页
     */
    private Integer isAffix = 0;

    /**
     * 是否隐藏标签
     */
    private Integer isHideTag = 0;

    /**
     * 显示徽章内容
     */
    private String badge;

    /**
     * 备注
     */
    private String remark = "";
}